import Vue from 'vue'
import Vuex from 'vuex'
import catagtory from './modules/catagtory.js'
import newlist from './modules/newlist.js'
Vue.use(Vuex)

// 这个是计算器的数据：创建store数据源，提供唯一公共数据
export default new Vuex.Store({
  state: {
    count: 1000,
  },
  mutations: {
    add(state) {
      //变更状态
      state.count++
    },
    addN(state, step) {
      state.count += step
    }

  },
  actions: {
    // 异步触发，点击后等1s后才+1
    addAsync(context) {
      setTimeout(() => {
        //在action中，不能修改state中的数据
        // 必须通过context.commit()触发某个mutation才行
        context.commit("add")
      }, 1000)
    },
    // 异步触发，点击后等1s后才+N
    addNAsync(context, step) {
      setTimeout(() => {
        context.commit("addN", step)
      }, 1000);

    }
  },
  getters: {
    showNum(state) {
      return '当前的数据是【' + state.count + '】'
    },
    // 通过getters建立对于分类数据和当前分类的快捷访问
    catagtory: state => state.catagtory.catagtory,
    currentCatagtory: state => state.catagtory.currentCatagtory
  },
  modules: {
    catagtory,
    newlist
  }
})
